/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.data;

import com.mes.manufacture.data.EmesoManuOrder;
import com.mes.plan.data.EmespPlanOrder;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.plm.Product;
/**
 * Entity class for entity Emes_PBom (stored in table Emes_PBom).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesPBom extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emes_PBom";
    public static final String ENTITY_NAME = "Emes_PBom";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_NAME = "name";
    public static final String PROPERTY_VERSION = "version";
    public static final String PROPERTY_PRODUCT = "product";
    public static final String PROPERTY_ACTIVITYDATEFROM = "activityDateFrom";
    public static final String PROPERTY_ACTIVITYDATETO = "activityDateTo";
    public static final String PROPERTY_DEFAULT = "default";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_ISAUDIT = "isaudit";
    public static final String PROPERTY_AUDITBUTTOM = "auditButtom";
    public static final String PROPERTY_DEFAULTBUTTOM = "defaultButtom";
    public static final String PROPERTY_SIZE = "size";
    public static final String PROPERTY_EMESXUANTOU = "emesXuantou";
    public static final String PROPERTY_JIABAN = "jiaban";
    public static final String PROPERTY_YADIMO = "yadimo";
    public static final String PROPERTY_EMESPBOMDIYLIST = "emesPBomDiyList";
    public static final String PROPERTY_EMESPBOMITEMLIST = "emesPBomItemList";
    public static final String PROPERTY_EMESOMANUORDERLIST = "emesoManuOrderList";
    public static final String PROPERTY_EMESPPLANORDERLIST = "emespPlanOrderList";

    public EmesPBom() {
        setDefaultValue(PROPERTY_DEFAULT, false);
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_ISAUDIT, false);
        setDefaultValue(PROPERTY_AUDITBUTTOM, false);
        setDefaultValue(PROPERTY_DEFAULTBUTTOM, false);
        setDefaultValue(PROPERTY_SIZE, "40,41.5,42,42.5,43,44");
        setDefaultValue(PROPERTY_EMESPBOMDIYLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPBOMITEMLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESOMANUORDERLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESPPLANORDERLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public String getName() {
        return (String) get(PROPERTY_NAME);
    }

    public void setName(String name) {
        set(PROPERTY_NAME, name);
    }

    public String getVersion() {
        return (String) get(PROPERTY_VERSION);
    }

    public void setVersion(String version) {
        set(PROPERTY_VERSION, version);
    }

    public Product getProduct() {
        return (Product) get(PROPERTY_PRODUCT);
    }

    public void setProduct(Product product) {
        set(PROPERTY_PRODUCT, product);
    }

    public Date getActivityDateFrom() {
        return (Date) get(PROPERTY_ACTIVITYDATEFROM);
    }

    public void setActivityDateFrom(Date activityDateFrom) {
        set(PROPERTY_ACTIVITYDATEFROM, activityDateFrom);
    }

    public Date getActivityDateTo() {
        return (Date) get(PROPERTY_ACTIVITYDATETO);
    }

    public void setActivityDateTo(Date activityDateTo) {
        set(PROPERTY_ACTIVITYDATETO, activityDateTo);
    }

    public Boolean isDefault() {
        return (Boolean) get(PROPERTY_DEFAULT);
    }

    public void setDefault(Boolean deflt) {
        set(PROPERTY_DEFAULT, deflt);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public Boolean isAudit() {
        return (Boolean) get(PROPERTY_ISAUDIT);
    }

    public void setAudit(Boolean isaudit) {
        set(PROPERTY_ISAUDIT, isaudit);
    }

    public Boolean isAuditButtom() {
        return (Boolean) get(PROPERTY_AUDITBUTTOM);
    }

    public void setAuditButtom(Boolean auditButtom) {
        set(PROPERTY_AUDITBUTTOM, auditButtom);
    }

    public Boolean isDefaultButtom() {
        return (Boolean) get(PROPERTY_DEFAULTBUTTOM);
    }

    public void setDefaultButtom(Boolean defaultButtom) {
        set(PROPERTY_DEFAULTBUTTOM, defaultButtom);
    }

    public String getSize() {
        return (String) get(PROPERTY_SIZE);
    }

    public void setSize(String size) {
        set(PROPERTY_SIZE, size);
    }

    public EmesXuantou getEmesXuantou() {
        return (EmesXuantou) get(PROPERTY_EMESXUANTOU);
    }

    public void setEmesXuantou(EmesXuantou emesXuantou) {
        set(PROPERTY_EMESXUANTOU, emesXuantou);
    }

    public Product getJiaban() {
        return (Product) get(PROPERTY_JIABAN);
    }

    public void setJiaban(Product jiaban) {
        set(PROPERTY_JIABAN, jiaban);
    }

    public Product getYadimo() {
        return (Product) get(PROPERTY_YADIMO);
    }

    public void setYadimo(Product yadimo) {
        set(PROPERTY_YADIMO, yadimo);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomDiy> getEmesPBomDiyList() {
      return (List<EmesPBomDiy>) get(PROPERTY_EMESPBOMDIYLIST);
    }

    public void setEmesPBomDiyList(List<EmesPBomDiy> emesPBomDiyList) {
        set(PROPERTY_EMESPBOMDIYLIST, emesPBomDiyList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesPBomItem> getEmesPBomItemList() {
      return (List<EmesPBomItem>) get(PROPERTY_EMESPBOMITEMLIST);
    }

    public void setEmesPBomItemList(List<EmesPBomItem> emesPBomItemList) {
        set(PROPERTY_EMESPBOMITEMLIST, emesPBomItemList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoManuOrder> getEmesoManuOrderList() {
      return (List<EmesoManuOrder>) get(PROPERTY_EMESOMANUORDERLIST);
    }

    public void setEmesoManuOrderList(List<EmesoManuOrder> emesoManuOrderList) {
        set(PROPERTY_EMESOMANUORDERLIST, emesoManuOrderList);
    }

    @SuppressWarnings("unchecked")
    public List<EmespPlanOrder> getEmespPlanOrderList() {
      return (List<EmespPlanOrder>) get(PROPERTY_EMESPPLANORDERLIST);
    }

    public void setEmespPlanOrderList(List<EmespPlanOrder> emespPlanOrderList) {
        set(PROPERTY_EMESPPLANORDERLIST, emespPlanOrderList);
    }

}
